{{tag>Hardy Intrepid Jaunty authentification sécurité BROUILLON}}

----

====== Lecteur d’empreintes digitales FPrint ======

{{fprint_logo.png?120nolink}}

**FPrint** est un projet visant à améliorer le support des lecteurs biométriques sous Linux. D'autres existent comme [[:thinkfinger]], qui fonctionnent pour certains mais pas pour d'autres.
FPrint supporte un assez grand nombres de lecteurs d'empreintes du marché, notamment une grande partie des très répandus AES**** de AuthenTec.

{{fprint_demo_v0.1.gif?300}} {{fprint_demo_v0.3.png?300}}


===== Mon lecteur biométrique est-il pris en charge par FPrint ? =====

Pour savoir si votre lecteur est supporté par FPrint, commencez par trouver de quel modèle il s'agit précisément, //via// la commande ''lsusb'' :
   lsusb
Vous verrez quelque chose du genre :

<file>
Bus 003 Device 001: ID 0000:0000  
Bus 002 Device 002: ID 08ff:2580 AuthenTec, Inc. 
Bus 002 Device 001: ID 0000:0000  
Bus 001 Device 001: ID 0000:0000</file>

Ce qui nous intéresse sont les identifiants du vendeur (Vendor ID) et du modèle (Product ID), ici un AuthenTec, les identifiant sont **08ff** et **2580**.

Vous pouvez maintenant comparer les identifiants avec ceux listés sur le [[http://www.freedesktop.org/wiki/Software/fprint/libfprint/Supported_devices/|site du projet]]. S'il y a une correspondance, cela devrait fonctionner.
Il existe aussi une [[http://www.freedesktop.org/wiki/Software/fprint/libfprint/Unsupported_devices/|page répertoriant les matériels connus pour ne pas fonctionner]]. Si votre matériel en fait partie, inutile de continuer, il ne va pas fonctionner. Vous pouvez alors essayer d'autres pilotes comme [[:ThinkFinger]].

Si votre matériel n'est listé sur aucune des deux pages, vous pouvez essayer, et voir par vous-même si cela fonctionne.

===== Installation =====

====Pour "The Precise Pangolin"====
Testé sur la version 12.04 LTS
Commandes 
<code>
$ sudo add-apt-repository ppa:fingerprint/fprint
$ sudo apt-get update
$ sudo apt-get install libpam-fprint libfprint0 fprint-demo gksu-polkit fprintd
</code>


==== Pour Natty (et Oneiric ?) ====
<note important>Non testé sur la version 11.10 Oneiric</note>
\\
Ajouter le dépôt FPrint , via la console :\\
<code>sudo add-apt-repository ppa:fingerprint/fprint</code>
\\
  * [[:tutoriel:comment_installer_un_paquet|Installer les paquets]] : **[[apt://libpam-fprint|libpam-fprint]], [[apt://libfprint0|libfprint0]] (normalement déjà installé avec libpam-fprint), [[apt://fprint-demo|fprint-demo]], puis [[apt://gksu-polkit|gksu-polkit]]**.\\
  * Passer ensuite à l'étape 3 : Teste de fonctionnement.
==== Pour Jaunty ====
<note important>Non testé, cela semble fonctionner (fprint a pu être lancé mais mon matériel n'est pas détecté) !</note>
[[:tutoriel:comment_installer_un_paquet|installez les paquets]] **[[apt://libpam-fprint|libpam-fprint]]  [[apt://fprint-demo|fprint-demo]]**.
Installez les paquets [[apt://libmagickwand-dev|libmagickwand-dev]] ,[[apt://libpam0g-dev|libpam0g-dev]] 
Téléchargez ensuite les sources de lib_fprint sur [[http://www.reactivated.net/fprint/wiki/Download|le site officel]].

Enfin, compilez :
  tar xvf ~/libfprint-*.tar.bz2
  ./configure --prefix=/usr
  make 
  sudo make install
==== Pour Intrepid et Jaunty ====

Installez simplement les packages, ils sont déjà présents dans les dépots officiel d'intrepid.

[[:tutoriel:comment_installer_un_paquet|installez les paquets]] **[[apt://libpam-fprint|libpam-fprint]] [[apt://libfprint0|libfprint0]] [[apt://fprint-demo|fprint-demo]]**.

==== Pour Hardy ====

Si vous utilisez Ubuntu [[:Hardy]], [[:tutoriel:comment_modifier_sources_maj|ajoutez le dépôt]] suivant :

  deb http://ppa.launchpad.net/madman2k/ubuntu hardy main restricted universe multiverse

puis [[:tutoriel:comment_installer_un_paquet|installez les paquets]] **[[apt://libpam-fprint|libpam-fprint]] [[apt://libfprint|libfprint]] [[apt://fprint-demo|fprint-demo]]**.

<note important>Attention : ce dépôt contient des mises à jour **non recommandées** ; il vous est conseillé d'installer les trois paquets dont nous avons besoin puis de le **désactiver**.</note>


==== Via les sources ====

S'il n'existe pas de paquet pour votre version ou votre architecture, il vous faudra compiler les sources pour faire fonctionner votre lecteur d'empreintes.

=== Récupérer les sources ===

Commencez par télécharger les sources de **libfprint**, **pam_fprint** et **fprint_demo** dans votre répertoire personnel depuis le [[http://www.reactivated.net/fprint/wiki/Download|site de fprint]].

Une fois les sources téléchargées, créez un nouveau répertoire nommé par exemple //fprint_build// ; et décompressez-y les trois archives téléchargées.
Par exemple en ligne de commande :
  mkdir ~/fprint_build && cd ~/fprint_build
  tar xvf ~/libfprint-*.tar.bz2
  tar xvf ~/pam_fprint-*.tar.bz2
  tar xvf ~/fprint_demo-*.tar.bz2

=== Installer les dépendances requises ===

Pour pouvoir [[:tutoriel:compilation|compiler]] fprint, il vous faut [[:tutoriel:comment_installer_un_paquet|installer les paquets]] suivants :
**[[apt://build-essential|build-essential]] [[apt://libusb-dev|libusb-dev]] [[apt://libssl-dev|libssl-dev]] [[apt://libglib2.0-dev|libglib2.0-dev]] [[apt://libmagick9-dev|libmagick9-dev]] [[apt://libpam-dev|libpam-dev]] **

=== Compilation ===

== libfprint ==

Ouvrez un [[:terminal]] et rendez-vous dans le dossier créé lors de la décompression de libfprint. Si vous avez suivi les instructions, le dossier devrait être //~/fprint_build/libfprint-*// :

  cd ~/fprint_build/libfprint-*/

puis lancez la configuration :

  ./configure --prefix=/usr

si aucune erreur n'apparaît, lancez la compilation :

  make

puis l'installation :

  sudo make install

== pam_fprint ==

Répétez l'opération avec pam_fprint :

  cd ~/fprint_build/pam_fprint-*/
  ./configure --prefix=/usr && make && sudo make install

== fprint_demo ==

Si vous désirez pouvoir faire le test de fonctionnement avec l'utilitaire fprint_demo, [[:tutoriel:comment_installer_un_paquet|installez le paquet]] **[[apt://libgtk2.0-dev|libgtk2.0-dev]]** puis lancez la compilation :

  cd ~/fprint_build/fprint_demo-*/
  ./configure && make && sudo make install


===== Test de fonctionnement =====
=== Natty 11.04 et Oneiric 11.10 ===
<note important>Lors de "mon" installation sur Kubuntu "Natty", le raccourci de fprint_demo se situait dans Applications > Utilitaires du menu K.\\
Cependant, l'interface graphique restait grisée. Il semble impossible de l'utiliser autre qu'en root (à vérifier).\\
Pour le lancer nous allons donc utiliser la console.
</note>
  - Lancer fprint_demo (mode administrateur): <code>sudo fprint_demo</code>\\
  - Au lancement de l'application (graphique), nous devons être dans l'onglet "Enroll". Il suffit ensuite de cliquer sur l'un des boutons "Enroll" (à droite) et de passer le doigt approprié pour enregistrer vos empreintes.\\ Lorsque votre empreinte sera "capturée", visualisez bien l'image. Votre empreinte doit être bien visible et nette, sans zone exagérément "noire", ou floue (qui aurait tendance à montrer que vous êtes allé trop vite ou trop lentement).\\ //Au moment où je rédige ce tuto, fprint_demo est en anglais. Il y a donc 10 lignes à renseigner correspondantes à nos 10 doigts (du pouce à l'auriculaire (petit doigt) de la main gauche, puis de la même manière pour la main droite).//
  - Une fois tous vos doigts enregistrés (enrollés), il sera désormais écrit "enrolled" pour chaque empreintes enregistrées.\\ Il est alors conseillé de vérifier vos empreintes en cliquant sur l'onglet "verifiy" en sélectionnant d'abord (à droite dans liste déroulante) le doigt que vous souhaitez vérifier.
  - Ensuite vous pouvez "jouer" un peu avec, afin de vérifier de nouveau que vos doigts sont reconnus, dans l'onglet "identify" : Cochez toutes les cases à droite (si vous avez enregistrés les empreintes correspondantes), puis cliquez sur le bouton (en bas à droite) : Identify.\\ Passez alors n'importe quel doigt sur votre lecteur d'empreintes.\\ Si fprint réussi la correspondance, il sera alors écrit le message :<code>Matched nom_du_doigt(en anglais)</code>\\ S'il est écrit : <code>Could not identify finger.</code> retentez l'expérience 2 ou 3 fois.\\ S'il n'arrive toujours pas à trouver la correspondance, vous devrez alors recommencer l'enregistrement de cette empreinte (étape 2 de cette liste).\\
  - Ensuite, lancez dans la console la commande : <code>sudo pam-auth-update</code>\\ Un écran (fond bleu) dans la console devrait s'afficher, vous demandant d'activer les profils PAM.\\ Sélectionnez (avec les flèches du clavier "haut" ou "bas") "Fingerprint authentification by pam-fprint", s'il n'y a pas d'astérisque devant, alors appuyez simplement sur la touche <espace> pour l'activer.\\ Ensuite sur "Ok" (en utilisant la touche <Tab> (Tabulation)).\\ Cela va créer une nouvelle ligne de paramétrage dans le fichier common-auth (voir N°7 de cette liste). \\
  - Ensuite, lancez dans la console la commande (pas certain que cette phase soit indispensable) : <code>fprintd-enroll</code>\\ Il vous sera demandé de passer votre index. Ce processus permet d'enregistrer votre empreinte (index droit).
  - Vous pouvez également vérifier que l'authentification est bien gérée désormais par PAM (Module d'authentification), en éditant le fichier //remplacez "kate" par "gedit" pour les utilisateurs Ubuntu/Gnome/Unity)//: <file> sudo kate /etc/pam.d/common-auth</file> Vérifier que la ligne suivante soit bien inscrite dans le fichier common-auth, sinon ajoutez la manuellement sous la ligne //"here are the per-package modules (the "Primary" block)"// : <file>auth	[success=2 default=ignore]	pam_fprint.so</file>
  - Si vous avez réussi toutes ses étapes, alors vos empreintes sont enregistrées et FPrint est prêt à fonctionner (nul besoin de suivre le reste du tutoriel).\\
\\
\\
=== Antérieur à Natty ===
Une fois les outils installés, vérifions si le lecteur d'empreintes fonctionne comme il doit.

Lancez ''fprint_demo'' et essayez de scanner vos empreintes. Si ça fonctionne, vous pourrez l'utiliser pour l'authentification, sinon, posez une question sur le [[http://forum.ubuntu-fr.org/|forum]] ;-)

Si problème (could not open device), faire
    sudo fprint_demo

===== Configuration =====

Si la phase de test s'est bien passée (vous avez vu vos doigts, chouette !), passons à l'utilisation pratique du lecteur.

Pour pouvoir utiliser le lecteur dans [[:GDM]] ou pour [[:sudo]], nous allons utiliser [[wpfr>Pluggable_authentication_module|PAM]]. Commencez donc par [[:tutoriel:comment_installer_un_paquet|installer les paquets]] **[[apt://libpam|libpam]]** et **[[apt://libpam-fprint|libpam-fprint]]** s'il ne l'est déjà.

Nous allons maintenant enregistrer une (ou plusieurs) empreinte(s).
Lancez la commande suivante pour enregistrer votre 7<sup>ème</sup> doigt, c'est-à-dire l'index droit :

   sudo pam_fprint_enroll --enroll-finger 7

Si vous préférez un autre doigt, changez 7 par un autre chiffre, les doigts étant numérotés du pouce à l'auriculaire gauche (doigts 1 à 5) puis du pouce à l'auriculaire droit (doigts 6 à 10).

Si vous désirez enregistrer plusieurs doigts, il vous suffit de répéter l'opération en changeant le numéro.



==== Pour toute authentification ====

[[:tutoriel:comment_editer_un_fichier|Éditez le fichier]] de configuration ///etc/pam.d/common-auth// et cherchez la ligne
<file>auth    required        pam_unix.so nullok_secure</file>
et ajoutez la ligne ci-dessous juste avant :
<file>auth    sufficient    pam_fprint.so</file>

Si vous voulez avoir plusieurs tentatives, vous pouvez entrer cette ligne plusieurs fois. Si vous mettez cette ligne 3 fois vous aurez alors 3 essais avant de devoir rentrer votre mot de passe.

==== Pour l'identification dans GDM uniquement ====

[[:tutoriel:comment_modifier_un_fichier|Ouvriez le fichier]] de configuration **/etc/pam.d/gdm** et cherchez la ligne suivante :
<file>@include common-auth</file>
Et ajoutez la ligne ci-dessous juste avant :
<file>auth    sufficient    pam_fprint.so</file>

<note important>Attention : pour Ubuntu 12.04 le fichier est /etc/pam.d/lightdm</note>
==== Pour SUDO uniquement ====

[[:tutoriel:comment_modifier_un_fichier|Ouvrez le fichier]] de configuration **/etc/pam.d/sudo** et cherchez la ligne suivante :
<file>#%PAM-1.0</file>
Et ajoutez la ligne ci-dessous juste après :
<file>auth    sufficient    pam_fprint.so</file>


===== Problèmes connus =====

==== Aucun prompt n'apparaît ===

Lors de l'utilisation de lecteurs d'empreintes //via// PAM avec [[:sudo#gksudo|gksudo]], 
aucune boîte de dialogue n'apparaît pour vous demander de scanner votre doigt. Vous devrez donc simplement passer votre doigt sur le lecteur après avoir lancé une application faisant appel à gksudo ; comme par exemple la majorité des entrés de menu dans //Système -> Administration//.

<note tip>Il est possible de simuler une boite de dialogue grâce à un petit script Python (trouvé [[http://ubuntuforums.org/showthread.php?t=622843|ici]]).\\
Pour cela, télécharger le script suivant : [[http://ubuntuforums.org/attachment.php?attachmentid=68030&d=1209511245|gksu.py]].\\
Enfin, quelques lignes à taper dans le terminal :
  sudo mv ./gksu.py /usr/local/bin/gksu
  sudo chmod 755 /usr/local/bin/gksu
  sudo apt-get install python-gnome2-extras python-pexpect
</note>

===== Liens =====

  * [[http://www.reactivated.net/fprint/wiki/Main_Page|Site officiel (en)]]
  * [[https://launchpad.net/~fingerprint/+archive/fprint|Page du dépôt FPrint(en) : launchpad.net - Fingerprint - FPrint]]


----

//Contributeur principal : [[:utilisateurs:Ban]] (Créée à partir de http://www.geekplanet.fr/content/view/25/33/)//\\
//Contributeur : [[:utilisateurs:Thalyn]] pour les parties 2 & 3 (Natty et Oneiric) de ce tutoriel//